A network call-routing system, also referred to as a call router, controls the routing of incoming calls to a private (e.g., a company's) network of call centers. One of the principal objectives of a network call-routing system is to route each individual call to the call center in the network which presently offers the shortest call-answer waiting time. In order to achieve this objective, the network call-routing system must obtain status information from each of the call centers in the network on a continuing basis.
There are two commonly-used schemes for sending status updates to a network call-routing system: periodic updates, and event-driven updates. But periodic updates of status are almost never timely. No matter how frequently the updates are sent, there is always a likelihood that a routing decision will use incorrect, out-of-date, status information. And while event-driven updates are much more timely, they require excessive bandwidth and processing time for large call-volume applications. For example: it is not uncommon for as many as 10 update-triggering events to occur per second in a single split on a single busy switch. Therefore, neither scheme is very efficient or effective in all call-center scenarios, and both have the problem of requiring excessive bandwidth or processing time to achieve an acceptable level of accuracy of routing decisions.